package ex.core;

import java.awt.Point;
import java.awt.Window;
import java.awt.event.FocusListener;
import java.awt.event.KeyListener;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.util.List;

import org.loon.framework.javase.game.GameScene;
import org.loon.framework.javase.game.core.graphics.Deploy;
import org.loon.framework.javase.game.core.graphics.IScreen;

import com.egghiro.framework.j2se.game.model.shape.RectBox;

public interface IHandler extends MouseListener, MouseMotionListener,
		KeyListener, FocusListener {

	public abstract RectBox getScreenBox();

	public void runFirstScreen();

	public void runLastScreen();

	public void runIndexScreen(int index);

	public void runPreviousScreen();

	public void runNextScreen();

	public void addScreen(IScreen screen);

	public List getScreens();

	public int getScreenCount();

	public abstract void destroy();

	public abstract Point getTextOrigin();

	public abstract void setID(int id);

	public abstract int getID();

	public abstract void setScene(GameScene frame);

	public abstract GameScene getScene();

	public abstract Window getWindow();

	public abstract void setDeploy(Deploy deploy);

	public abstract Deploy getDeploy();

	public abstract int getWidth();

	public abstract int getHeight();

	public abstract IScreen getScreen();

	public abstract void setScreen(final IScreen control);

	public abstract void changeText(String text);
}
